package br.uvv.Model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name="ti_dado")
public class Dado extends EntidadeGenerica {

	private static final long serialVersionUID = -1568818005416492636L;

	@Column(name="nome_tela", length=128)
	private String nomeTela;
	
	@Column(name="atributo_classe",length=128)
	private String atributoClasse;
	
	@Column(name="regra_descricao",length=255)
	private String regraDescricao;
	
	@Column(name="tipo_dado",length=32)
	private String tipoDado;
	
	private Integer tamanho;
	
	private Boolean editavel;
	
	private Boolean obrigatorio;
	
	@ManyToOne(fetch=FetchType.LAZY, optional=true)
	@JoinColumn(name="descricao_estendida_id")
	private DescricaoEstendida descricaoEstendida;
	
	@Override
	public String toJson() {
		return null;
	}
	
	public DescricaoEstendida getDescricaoEstendida() {
		return descricaoEstendida;
	}
	
	public void setDescricaoEstendida(DescricaoEstendida descricaoEstendida) {
		this.descricaoEstendida = descricaoEstendida;
	}

	public String getNomeTela() {
		return nomeTela;
	}

	public void setNomeTela(String nomeTela) {
		this.nomeTela = nomeTela;
	}

	public String getAtributoClasse() {
		return atributoClasse;
	}

	public void setAtributoClasse(String atributoClasse) {
		this.atributoClasse = atributoClasse;
	}

	public String getRegraDescricao() {
		return regraDescricao;
	}

	public void setRegraDescricao(String regraDescricao) {
		this.regraDescricao = regraDescricao;
	}

	public String getTipoDado() {
		return tipoDado;
	}

	public void setTipoDado(String tipoDado) {
		this.tipoDado = tipoDado;
	}

	public Integer getTamanho() {
		return tamanho;
	}

	public void setTamanho(Integer tamanho) {
		this.tamanho = tamanho;
	}

	public Boolean getEditavel() {
		return editavel;
	}

	public void setEditavel(Boolean editavel) {
		this.editavel = editavel;
	}

	public Boolean getObrigatorio() {
		return obrigatorio;
	}

	public void setObrigatorio(Boolean obrigatorio) {
		this.obrigatorio = obrigatorio;
	}
}